Information processing terminal generating custom operation data concerning operation identified by selected operation id

ABSTRACT

An information processing terminal acquires a plurality of object IDs identifying respective ones of a plurality of display objects. Each of the plurality of display objects is previously with a corresponding standard operation. The terminal acquires a plurality of operation IDs identifying respective ones of the plurality of operations, and displays a first screen to prompt a user to select an operation ID to be correlated to one of the plurality of object IDs. The terminal receives a first input to select an operation ID to be correlated to an object ID via the user interface after the first screen is displayed on the terminal display. The terminal generates instruction data and custom operation data defining a custom operation concerning an operation identified by the selected operation ID. The instruction data is information used for execution of the custom operation defined.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority from Japanese Patent Application No.2016-108753 filed May 31, 2016. The entire content of the priorityapplication is incorporated herein by reference.

TECHNICAL FIELD

The present disclosure relates to a technique for an informationprocessing terminal that customizes a user interface for animage-forming apparatus.

BACKGROUND

For example, Japanese Patent Application Publication No. 2011-154474describes a program executed on an information processing terminal tocustomize the screen displayed on a printer display. More specifically,this program receives UI information from the printer. The UIinformation defines what is displayed in the screen and how. The programprompts the user to revise the UI information and transmits the revisedUI information to the printer.

SUMMARY

However, the program described in the above document is limited tomodifying the appearance of the screen displayed on the printer displayby determining which UI elements are shown or hidden and modifying theirdisplayed positions, for example.

In view of the foregoing, it is an object of the present disclosure toprovide a technique concerning an information processing terminal thatcan more flexibly customize the user interface for an image-formingapparatus.

In order to attain the above and other objects, the disclosure providesa non-transitory computer readable storage medium storing a set ofinstructions installed on and executed by an information processingterminal having a terminal display and a user interface. The set ofinstructions includes: acquiring a plurality of object IDs identifyingrespective ones of a plurality of display objects, the plurality ofdisplay objects being to be displayed at respective designated positionson an apparatus display of an image forming apparatus, each of theplurality of object IDs being previously assigned with a correspondingstandard operation concerning one of a plurality of operations which theimage forming apparatus is capable of execute; acquiring a plurality ofoperation IDs identifying respective ones of the plurality ofoperations; receiving a first input indicating an operation ID to becorrelated to an object ID from among the plurality of operation IDs viathe user interface; generating instruction data and custom operationdata, the custom operation data defining a custom operation concerningan operation identified by the indicated operation ID, the instructiondata being information used for execution of the custom operationdefined by the custom operation data in response to designation of adisplay object identified by the correlated object ID; and outputtingthe generated custom operation data and the generated instruction data.

According to another aspects, the disclosure provides a system. Thesystem includes: an information processing terminal having a terminaldisplay, a first user interface, and a first control device; and animage forming apparatus having an apparatus display, a second userinterface, a communication interface, and a second control device. Thefirst control device is configured to: acquire a plurality of object IDsidentifying respective ones of a plurality of display objects, theplurality of display objects being to be displayed at respectivedesignated positions on the apparatus display of an image formingapparatus, each of the plurality of object IDs being previously assignedwith a corresponding standard operation concerning one of a plurality ofoperations which the image forming apparatus is capable of execute;acquire a plurality of operation IDs identifying respective ones of theplurality of operations; receive a first user input indicating anoperation ID to be correlated to an object ID from among the pluralityof operation IDs via the user interface; generate instruction data andcustom operation data, the custom operation data defining a customoperation concerning an operation identified by the indicated operationID, the instruction data being information used for execution of thecustom operation defined by the custom operation data in response todesignation of a display object identified by the correlated object ID;and output the generated custom operation data and the generatedinstruction data to the image forming apparatus. The second controldevice is configured to: receive the custom operation data and theinstruction data from the information processing terminal via thecommunication interface; display the display object identified by thecorrelated object ID at the designated position of the apparatusdisplay; receive a second input indicating to select the display objectdisplayed on the apparatus display via the second user interface;execute the custom operation defined by the custom operation dataconcerning the operation identified by the selected operation ID inresponse to reception of the second input.

BRIEF DESCRIPTION OF THE DRAWINGS

The particular features and advantages of the disclosure as well asother objects will become apparent from the following description takenin connection with the accompanying drawings, in which:

FIG. 1 is a block diagram illustrating a system including amultifunction peripheral and an information processing terminalaccording to an embodiment;

FIG. 2(A) is an explanatory diagram illustrating an example of standardscreen data stored in a memory of the multifunction peripheral;

FIG. 2(B) is an explanatory diagram illustrating an example of standardoperation data stored in the memory of the multifunction peripheral;

FIG. 3(A) is an explanatory diagram illustrating an example of anoperation information list generated by a terminal program in theinformation processing terminal;

FIG. 3(B) is an explanatory diagram illustrating an example of customscreen data generated by the terminal program;

FIG. 4(A) is an explanatory diagram illustrating an example of customoperation data generated by the terminal program;

FIG. 4(B) is an explanatory diagram illustrating another example ofcustom operation data generated by the terminal program;

FIG. 4(C) is an explanatory diagram illustrating an example of aninstruction script generated by the terminal program;

FIG. 5(A) is a flowchart illustrating a process for generating customdata;

FIG. 5(B) is a flowchart illustrating a process for registeringoperation information record;

FIG. 6 is a flowchart illustrating a process for generating customscreen data;

FIG. 7 is a flowchart illustrating a main process;

FIG. 8 is an explanatory diagram illustrating an example of a customconfiguration screen in which an [Icon] tab is selected;

FIG. 9 is an explanatory diagram illustrating an example of a customconfiguration screen in which a [Background] tab is selected;

FIG. 10(A) is an explanatory diagram illustrating an example of anoperation selection screen displayed on the display;

FIG. 10(B) is an explanatory diagram illustrating an example of aparameter selection screen displayed on the display;

FIG. 11 is an explanatory diagram illustrating an example of a customconfiguration screen displayed on the display after an input is receivedvia a user interface in the information processing terminal;

FIG. 12(A) is an explanatory diagram illustrating an example of astandard screen displayed on the display;

FIG. 12(B) is an explanatory diagram illustrating an example of acustomized operation selection screen displayed on the display;

FIG. 13(A) is an explanatory diagram illustrating an example of acustomized operation selection screen displayed on the display when anoperation icon is selected; and

FIG. 13(B) is an explanatory diagram illustrating a method forconverting an icon image.

DETAILED DESCRIPTION

Next, an embodiment of the present disclosure will be described whilereferring to the accompanying drawings. The embodiment described belowis merely an example. As a matter of course, the embodiment of thedisclosure can be appropriately modified. For example, the order forexecuting the processes described below may be appropriately modified.

FIG. 1 is a schematic diagram showing a system 100 according to theembodiment. The system 100 shown in FIG. 1 includes a multifunctionperipheral 10, and an information processing terminal 50. Themultifunction peripheral 10 and the information processing terminal 50can communicate with each other over a communication network 101. Whilethere are no particular limitations on the configuration of thecommunication network 101, the communication network 101 may be theInternet, a wired LAN, a wireless LAN, or any combination of these.Alternatively, the multifunction peripheral 10 and the informationprocessing terminal 50 may be connected with a USB cable or the like.The system 100 may include a plurality of multifunction peripherals 10which can communicate with the information processing terminal 50.

As shown in FIG. 1, the multifunction peripheral 10 primarily includes aprinter 11, a scanner 12, a fax 13, a display 23, a user interface 24, acommunication interface 25, a CPU 31, a memory 32, and a communicationbus 33. The components configuring the multifunction peripheral 10 areinterconnected via the communication bus 33. The multifunctionperipheral 10 is an example of the image-forming apparatus. Eachcomponent of the multifunction peripheral 10 is an example of anoperational part that implements operations described later.

The printer 11 executes a print operation for recording an imagespecified by image data on a sheet. The method of recording employed bythe printer 11 may be any well-known method including an inkjet methodor an electrophotographic method. The scanner 12 executes a scanoperation for reading an image recorded on an original in order togenerate scan data. The fax 13 executes a fax operation for transmittingimage data by fax to external apparatuses and receiving image data byfax from external apparatuses.

The display 23 includes a display screen for displaying variousinformation. The display 23 may be configured of an LCD or an organic ELdisplay, for example. The display 23 is an example of the devicedisplay.

The user interface 24 is a user interface for accepting input operationsperformed by the user. Specifically, the user interface 24 has buttonsand outputs various operation signals to the CPU 31 corresponding tobuttons that have been pressed. The user interface 24 may also have afilm-like touchscreen laid over the surface of the display 23. Examplesof inputs include operations for specifying objects displayed on thedisplay 23, and operations for inputting alphabetic and numeric strings.Some examples of “objects” displayed on the display 23 are characterstrings, icon buttons, links, radio buttons, checkboxes, and pull-downmenus. The user interface 24 is an example of the second user interface.In the present disclosure, input indicates an operation by the user viathe user interface, that is, the user operation.

The user interface 24 is implemented as a touchscreen, and outputsposition information indicating positions on the display screen that theuser touched. In general, the term “touch” in this specificationincludes any operation for contacting the display screen with an inputmedium. Further, an action called “hover” or “floating touch” in whichthe input medium is brought to a position only slightly separated fromthe display screen while not actually touching the same may also fallunder the concept of “touch” described above. Further, the input mediummay be the user's finger, a stylus pen, or the like. A user actionincluding the user tapping the display 23 at a position corresponding toa displayed object is one example of an input for specifying an object.

The communication interface 25 is an example of an interface forcommunicating with external apparatuses via the communication network101. In other words, the multifunction peripheral 10 transmits variousdata to external apparatuses via the communication interface 25 andreceives various data from external apparatuses via the communicationinterface 25. Hereinafter, an operation implemented by the communicationinterface 25 to transmit data to an external apparatus will be called anupload operation, while an operation implemented by the communicationinterface 25 to receive data from an external apparatus will be called adownload operation. While there is no particular restriction on thespecific communication method used by the communication interface 25,the communication interface 25 may employ Wi-Fi technology (Wi-Fi is aregistered trademark), for example. Further, if the multifunctionperipheral 10 and the information processing terminal 50 are connectedby a USB cable or the like, the communication interface 25 may beimplemented by a USB interface to which a USB cable is detachablyconnected.

The multifunction peripheral 10 can also execute a compound operationhaving more than one operation. An example of a compound operation is ascan-and-upload operation including a scan operation and an uploadoperation. In the scan-and-upload operation, the scanner 12 generatesscan data in the scan operation, and the communication interface 25transmits the scan data to an external apparatus in the uploadoperation. In the scan-and-upload operation, the scanner 12 is anexample of the first operational machine, the scan operation is anexample of the first operation, the communication interface 25 is anexample of the second operational machine, and the upload operation isan example of the second operation.

Another example of a compound operation is a copy operation including ascan operation and a print operation. In the copy operation, the scanner12 generates scan data in the scan operation, and the printer 11 recordsan image represented by the scan data on a sheet in the print operation.In the copy operation, the scanner 12 is an example of the firstoperational machine, the scan operation is an example of the firstoperation, the printer 11 is an example of the second operationalmachine, and the print operation is an example of the second operation.

An operation ID is used to identify each operation that themultifunction peripheral 10 can implement. For example, the printoperation executed by the printer 11 is identified by the operation ID“Print”; the scan operation executed by the scanner 12 is identified bythe operation ID “Scan”; the fax operation executed by the fax 13 isidentified by the operation ID “Fax”; the upload operation and downloadoperation executed by the communication interface 25 are respectivelyidentified by the operation IDs “Upload” and “Download”; the copyoperation is identified by the operation ID “Copy”; and thescan-and-upload operation is identified by the operation ID “Scan toFTP”.

The multifunction peripheral 10 implements operations in accordance withoperation parameters. Values of operation parameters are informationspecifying conditions for implementing the operation. Values of theoperation parameters includes a set value for each of one or moreparameters (for example, resolution, format, size, color, and serverID). The types of operation parameters differ according to theoperation. For example, values of operation parameters for a scanoperation may include set values for the resolution and formatparameters. Values of operation parameters for a print operation mayinclude set values for the size and color parameters, for example.Values of operation parameters for an upload operation may include a setvalue for the server ID parameter, for example.

The set value for the resolution parameter specifies the resolution atwhich an original is read. The set value for the format parameterspecifies the file format for the scan data. The set value for the sizeparameter specifies the size of the sheet on which the image is to berecorded. The set value for the color parameter specifies the colors tobe used in the print operation. The setting for the server ID parameteridentifies the destination server to which data will be uploaded. Notethat the operation parameters for operations need not include all of theabove parameters, or may include additional parameters to thosedescribed above.

Further, the operation parameters for compound operations include theoperation parameters for each of the operations constituting thecompound operation. As illustrated in FIG. 3(A), values of the operationparameters for a copy operation include a set value for the resolutionparameter, which is the operation parameter for a scan operation; andset values for the size and color parameters, which are the operationparameters for a print operation. Values of operation parameters for ascan-and-upload operation include set values for the resolution andformat parameters, which are the operation parameters for a scanoperation; and set value for the server ID parameter, which is theoperation parameter for an upload operation.

The CPU 31 controls all operations of the multifunction peripheral 10.The CPU 31 acquires various programs described later from the memory 32and executes the programs based on various information outputted fromthe user interface 24, various information acquired from externalapparatuses via the communication interface 25, and the like. The CPU 31and the memory 32 constitute an example of the second control device.

The memory 32 stores an OS 34, and a device program 35. The deviceprogram 35 may be a single program, or an aggregate of programs. Forexample, the memory 32 may be configured of RAM, ROM, EEPROM, a harddisk drive, a portable storage medium such as USB memory detachablymounted in the multifunction peripheral 10, a buffer provided in the CPU31, or a combination of these.

The memory 32 may be any storage medium that can be read by a computer.A computer-readable storage medium is a non-transitory medium. Inaddition to the above examples, non-transitory media include CD-ROM andDVD-ROM. A non-transitory medium is also a tangible medium. On the otherhand, electric signals that convey programs downloaded from a server orthe like on the Internet are a computer-readable signal medium, which isone type of computer-readable medium but is not considered anon-transitory computer-readable storage medium. This description alsoapplies to a memory 62 provided in the information processing terminal50 described later.

The memory 32 stores standard screen data, and a plurality of sets ofstandard operation data, for example. The manufacturer of themultifunction peripheral 10 stores the standard screen data and theplurality of sets of standard operation data in the memory 32 prior toshipping the multifunction peripheral 10, for example. While notparticularly limited to any specific format, the standard screen dataand the plurality of sets of standard operation data may be informationin the XML format, for example.

The standard screen data is information specifying a standard screen tobe displayed on the display 23. FIG. 2(A) shows an example of standardscreen data. In this example, the standard screen data includes adisplay ID as an element with the tag <DisplayID>, a display name as anelement with the tag <DisplayName>, a plurality of sets of iconinformation as a plurality of elements with the tag <Icon>. The displayID “001” identifies one of a plurality of screens to be displayed on thedisplay 23. The display name “Standard screen” is a character string tobe displayed in the screen as the title of the display identified by thedisplay ID “001”. The plurality of sets of icon information specifiesoperation icons 151, 152, and 153 to be displayed at specified positionsin the screen, as illustrated in FIG. 12(A).

Each set of icon information includes an icon ID as an element with thetag <IconID>, a data ID as an element with the tag <IconImage>, an icontext as an element with the tag <IconText>, and a function ID as anelement with the tag <FunctionID>. Each set of icon informationcorresponds to one of the operation icons 151, 152, and 153. Since theset of icon information corresponding to the operation icons 151, 152,and 153 has a common format, the following description will focus onlyon icon information for the operation icon 151.

Icon ID “001” is an example of an object ID that identifies theoperation icon 151. The data ID “//standard/standard_icon01_normal.jpeg”is an element of the <Normal> tag, and specifying the location ofdefault image data representing the operation icon 151 before the userhas selected an image represented as the operation icon 151 via the userinterface 24. The data ID “//standard/standard_icon01_pushed.jpeg” is anelement of the <Pushed> tag specifying the location of image data thatthe user has selected via the user interface 24 after the user hasselected the image representing the operation icon 151. Here, “selectingan image of an icon via the user interface 24” denotes a tap operationat a position corresponding to an icon, for example. The icon text“Scan” is a character string displayed in association with the operationicon 151. The function ID “001” identifies standard operation dataassociated with the operation icon 151.

The standard operation data indicates operations that the multifunctionperipheral 10 is to execute when one of the operation icons 151, 152,and 153 is selected via the user interface 24. Since the standardoperation data for the operation icons 151, 152, and 153 has a commonformat, the following description will focus on standard operation dataassociated with the operation icon 151.

FIG. 2(B) shows an example of standard operation data associated withthe operation icon 151. In this example, the standard operation dataincludes a function ID as an element with the tag <FunctionID>, anoperation ID specified by the tag <Scan>, and operation parameters andset values thereof as elements with the tag <Scan>. The <FunctionID>element specifies the function ID for the scan operation. The functionID “001” corresponds to the function ID included in the standard screendata. The <Scan> tag denotes the operation ID of a scan operation. The<Scan> element contains two elements having the tags <Resolution> and<File Type>. The <Resolution> element specifies the value “300 dpi” forthe resolution parameter. The <File Type> element specifies the value“PDF” for the format parameter.

As shown in FIG. 1, the information processing terminal 50 primarilyincludes a display 53, an user interface 54, a communication interface55, a CPU 61, a memory 62, and a communication bus 63. Since the display53, the user interface 54, the communication interface 55, the CPU 61,the memory 62, and the communication bus 63 of the informationprocessing terminal 50 share the same structure as the display 23, theuser interface 24, the communication interface 25, the CPU 31, thememory 32, and the communication bus 33 of the multifunction peripheral10, a description of these components will not be repeated. The display53 is an example of the terminal display, the user interface 54 is anexample of the first user interface, and the CPU 61 and the memory 62are an example of the first control device. The information processingterminal 50 may be a mobile phone, a smartphone, a tablet computer, or apersonal computer, for example.

The memory 62 stores an OS 64, and a terminal program 65. The memory 62can also store an operation information list shown in FIG. 3(A). Theoperation information list includes one or more operation informationrecords. An operation information record is an example of operationinformation that includes an operation ID, operation parameters andvalues thereof, and an operation name Operation information records maybe registered in the operation information list when the terminalprogram 65 is installed, for example, or may be registered in theoperation information list by the terminal program 65 in a process forregistering operation information records described later. While notparticularly limited to any format, the operation information list maybe information in the XML format, for example.

Each of the operation IDs and a value of each operation parameter areassociated with an operation that the multifunction peripheral 10 canimplement. Each operation name is information in text formatrepresenting the name of the operation identified by the correspondingoperation ID. The user of the information processing terminal 50 may setoperation names as desired, for example. In the example of FIG. 3(A),the scan-and-upload operation is represented by the text “Scan toServer” as the operation name, while the copy operation is representedby the text “Mono-Copy” as the operation name.

While not shown in the drawings, the memory 62 can also store adesignated device ID. The designated device ID identifies amultifunction peripheral 10 that the user has designated from among theplurality of multifunction peripherals 10 that can communicate with theinformation processing terminal 50 via the communication interface 55.For example, the terminal program 65 displays a plurality of deviceicons on the display 53. The plurality of device icons respectivelycorresponds to the plurality of multifunction peripherals 10 that cancommunicate with the information processing terminal 50 via thecommunication interface 55. When the user selects a device icondisplayed on the display 53 through an operation on the user interface54, the terminal program 65 sets the multifunction peripheral 10corresponding to the device icon as the designated device. Next, theterminal program 65 stores the device ID of the designated device in thememory 62 as the designated device ID.

Next, the operations of the system 100 according to the embodiment willbe described with reference to FIG. 5 through 7.

In general, flowcharts in this specification depict steps performed bythe CPUs 31 and 61 according to instructions described in programs. Inother words, actions such as “determine,” “extract,” “select,”“calculate,” “set,” “identify,” “control,” and the like in the followingdescription represent steps performed by the CPU 31 or 61. Stepsperformed by the CPU 61 include processes that control hardware throughthe OS 64. Further, “data” in this specification represents bit stringsthat a computer can read. Further, data of different formats are treatedas the same data when the content of the data is essentially the same.The same holds true for “information” in this specification.

Process for Generating Custom Data

The terminal program 65 executes a process for generating custom data inresponse to start of the terminal program 65 caused by a command issuedby the user via the user interface 54, for example. The process forgenerating custom data generates custom screen data, custom operationdata, and an instruction script based on information acquired throughuser input received via a custom configuration screen described later.Next, the process for generating custom data will be described in detailwith reference to FIG. 5(A).

In S11 of FIG. 5(A), the terminal program 65 acquires device informationfor the designated device. The terminal program 65 may read the deviceinformation from the memory 62, for example. Alternatively, the terminalprogram 65 may receive the device information from the designated devicethrough the communication interface 55. Alternatively, the terminalprogram 65 may transmit model information specifying the model name ofthe designated device to a server (not shown) through the communicationinterface 55. In this case, the server returns device information storedin a memory on the server in association with the model information, andthe terminal program 65 subsequently receives the device informationfrom the server via the communication interface 55. The process of S11is an example of the acquiring process, the first acquiring process, thesecond acquiring process, and the third acquiring process.

The device information includes standard screen data shown in theexample of FIG. 2(A), a plurality of icon IDs, a plurality of operationIDs, and candidate values for operation parameters correspondingrespectively to operations specified by the operation IDs. Each icon IDidentifies one of a plurality of icons displayed on the display 23 ofthe designated device. Each operation ID identifies one of theoperations that the designated device can implement. The candidatevalues of the operation parameters are a plurality of candidate valuesthat can be selected for each of a plurality of parameters used in eachoperation. The device information may also include condition informationspecifying a first display condition and a second display conditiondescribed later. While not particularly limited to any format, thedevice information may be information in the XML format, for example.

In this example, the device information includes icon IDs “001”, “002”,and “003”. The device information also includes operation IDs “Scan”,“Print”, “Upload”, “Download”, “Copy”, and “Scan to FTP”. For theresolution parameter, the device information includes candidate values“300 dpi” and “600 dpi”. For the format parameter, the deviceinformation includes candidate values “PDF” and “TIFF”. For the sizeparameter, the device information includes candidate values “A4”, “B5”,and “L”. For the color parameter, the device information includescandidate values “Color” and “Monochrome”. For the server ID parameter,the device information includes candidate values “www.server-a.com” and“www.server-b.com”.

In S12 the terminal program 65 displays the custom configuration screenshown in FIG. 8 or 9 on the display 53. The custom configuration screenis an example of the customization screen or the first screen thatallows the user to customize a screen to be displayed on themultifunction peripheral 10. In S13 the terminal program 65 accepts aninput in the custom configuration screen via the user interface 54. Theprocess of S12 is an example of the displaying process or the firstdisplaying process, and the process in S13 is an example of the firstreceiving process.

Specifically, the custom configuration screen allows the user to selectan operation ID to be associated with each icon ID acquired in S11 fromamong the plurality of operation IDs acquired in S11. Further, thecustom configuration screen allows the user to select image data to beassociated with each icon ID acquired in S11, for example. Further, thecustom configuration screen allows the user to specify other informationto be displayed on the display 23 of the multifunction peripheral 10.

The custom configuration screen includes an [Icon] tab 110, and a[Background] tab 120. More specifically, in response to a specificationfor the [Icon] tab 110 received via the user interface 54, the terminalprogram 65 displays the custom configuration screen acquired in S11 onthe display 53 as shown in FIG. 8. This custom configuration screenincludes a plurality of objects 111-116 corresponding to the pluralityof <Icon> tags in the standard screen data, a [Register] icon 117, and a[Generate] icon 118. The [Register] icon 117 is for starting a processfor registering operation information record (FIG. 5(B)). The [Generate]icon 118 is for starting a process for generating custom screen data(FIG. 6). The custom configuration screen shown in FIG. 8 allows theuser to customize icons that will be displayed on the display 23 of themultifunction peripheral 10.

In FIG. 8, a checkbox 111A, an image icon 112A, textboxes 113A, 114A,and 115A, and a pull-down menu 116A are objects that enable the user toedit elements of the <Icon> tag that includes the icon ID “001”. Acheckbox 111B, an image icon 112B, textboxes 113B, 114B, and 115B, and apull-down menu 116B are objects that enable the user to edit elements ofthe <Icon> tag that includes the icon ID “002”. A checkbox 111C, animage icon 112C, textboxes 113C, 114C, and 115C, and a pull-down menu116C are objects that enable the user to edit elements of the <Icon> tagthat includes the icon ID “003”. Since the objects corresponding to eachicon ID have common functions, the following description will focus onlyon objects 111A-116A corresponding to icon ID=“001”.

The checkbox 111A corresponds to an instruction to show or hide theoperation icon 151 on the display 23 of the multifunction peripheral 10.More specifically, a checked checkbox 111A corresponds to an instructionto display the operation icon 151, while an unchecked checkbox 111Acorresponds to an instruction to hide the operation icon 151. Thecheckbox 111A is initially in a checked state.

The image icon 112A corresponds to an instruction to modify image dataspecifying the operation icon 151. For example, in response to aspecification for the image icon 112A received via the user interface54, the terminal program 65 displays on the display 53 a list stored inthe memory 62 or on a server (not shown) on the Internet. Here, the listincludes a plurality of options for respective image data. The terminalprogram 65 receives a selection via the user interface 54 from among theplurality of options displayed in the list. Next, the terminal program65 displays an image specified by the selected image data as the imageicon 112A. The initial image of the image icon 112A is represented byimage data designated by the content of the <Normal> element provided inthe standard screen data.

The textbox 113A corresponds to an instruction to modify icon text to bedisplayed in association with the operation icon 151. The terminalprogram 65 displays a character string inputted in the textbox 113A viathe user interface 54. The character string initially displayed in thetextbox 113A is “Scan”, which is the content of the <IconText> tagprovided in the standard screen data.

The textboxes 114A and 115A correspond to instructions for modifyingposition information specifying the display position of the operationicon 151. The position information specifies the difference between theedited display position and a default position that is preset in themultifunction peripheral 10. The terminal program 65 displays numericalvalues inputted via the user interface 54 in the textboxes 114A and115A. The numerical values initially displayed in the textboxes 114A and115A are both “0”.

The numerical value displayed in the textbox 114A indicates thedifference between the display position and the default position in theleft-right direction. Specifically, a positive number displayed in thetextbox 114A indicates a position to the right of the default position,while a negative number in the textbox 114A indicates a position to theleft of the default position. The textbox 115A indicates the differencebetween the display position and the default position in the verticaldirection. Specifically, a positive number in the textbox 115A indicatesa position above the default position, while a negative number in thetextbox 115A indicates a position below the default position.

The pull-down menu 116A corresponds to an instruction for specifying acustom operation to be associated with the operation icon. The pull-downmenu 116A accepts an input to specify one of a plurality of operationinformation records recorded in the operation information list. That is,the pull-down menu 116A includes selections corresponding to all of theoperation information records registered in the operation informationlist. The pull-down menu 116A displays the operation name in theoperation information record. In other words, the selection of oneoperation information by the user indicates selection of one operationID and setting values of the operation identified by the one operationID. The selections in the pull-down menu 116A are examples of operationinformation objects. In its initial state, the pull-down menu 116Aspecifies the standard operation defined by the content in the<FunctionID> element provided in the standard screen data.

In response to a specification for the [Background] tab 120 which isreceived via the user interface 54, the terminal program 65 displays thecustom configuration screen shown in FIG. 9 on the display 53. Thiscustom configuration screen includes textboxes 121 and 122, and a Searchicon 123. The custom configuration screen shown in FIG. 9 enables theuser to customize the title and background of the screen to be displayedon the display 23 of the multifunction peripheral 10. In other words,the custom configuration screen in FIG. 9 allows the user to customizeparts of the screen displayed on the display 23 that are unrelated tothe operation icons 151, 152, and 153.

The textbox 121 corresponds to an instruction to specify image data tobe used as the background image. The terminal program 65 displays a dataID in the textbox 121 indicating the location of image data specifiedvia the user interface 54. The background image is displayed over theentire display region of the display 23 and behind the operation icons151, 152, and 153, i.e., in the background. In the initial state of thetextbox 121, no image data is specified.

The textbox 122 corresponds to an instruction to modify the title of thescreen displayed on the display 23. The terminal program 65 displays acharacter string inputted via the user interface 54 in the textbox 122.The character string initially displayed in the textbox 122 is “StandardScreen”, which is the content of the <DisplayName> tag defined in thestandard screen data.

The Search icon 123 corresponds to an instruction to specify image datato be used as the background image. In response to a specification forthe Search icon 123 which is received via the user interface 54, theterminal program 65 displays on the display 53 a list of a plurality ofsets of image data stored in the memory 62 or on a server (not shown) onthe Internet, and receives via the user interface 54 a selectionspecifying one of the plurality of sets of image data. Next, theterminal program 65 displays the data ID for the specified set of imagedata in the textbox 121.

Further, in response to a specification for the [Register] icon 117(FIG. 8) received via the user interface 54 (S13:registration), in S14of FIG. 5 the terminal program 65 executes the process for registeringoperation information record. In the process for registering operationinformation record, the terminal program 65 receives various inputtedinformation to be included in an operation information record via theuser interface 54 and registers an operation information recordcontaining the received information in the operation information list.Next, the process for registering operation information record will bedescribed in greater detail with reference to FIG. 5(B).

Process for Registering Operation Information Record

In S21 the terminal program 65 displays an operation selection screenshown in FIG. 10(A) on the display 53. The operation selection screen isan example of the second screen and prompts the user to select anoperation ID and an operation name to be included in the operationinformation record. The operation selection screen includes a pull-downmenu 131, a textbox 132, an [OK] icon 133, and a [Cancel] icon 134. InS22 the terminal program 65 receives inputs in the operation selectionscreen via the user interface 54. The process of S21 is an example ofthe second display process, and the process of S22 is an example of thesecond reception process.

The pull-down menu 131 is an object that allows the user to specify anoperation ID to be included in the operation information record fromamong the plurality of operation IDs identifying operations that thedesignated device can implement. The pull-down menu 131 has selectionscorresponding to all of the operation IDs included in the deviceinformation. The selections in the pull-down menu 131 are examples ofoperation objects. In its initial state, the pull-down menu 131indicates the operation ID “Scan”. The textbox 132 corresponds to aninstruction for specifying the operation name to be associated with theoperation ID displayed on the pull-down menu 131. The terminal program65 displays a character string inputted via the user interface 54 in thetextbox 132 as the operation name.

In this example, the user selects the operation ID “Scan to FTP” fromthe options in the pull-down menu 131, inputs the operation name “Scanto Server” in the textbox 132, and selects the [OK] icon 133.Consequently, the terminal program 65 receives an input specifying the“Scan to FTP” operation ID, an input specifying the “Scan to Server”operation name, and a specification for the [OK] icon 133 via the userinterface 54 (S22: YES) and temporarily stores the specified operationID and the inputted operation name associated with each other in thememory 62.

In S23 the terminal program 65 displays a parameter selection screenshown in FIG. 10(B) on the display 53. The parameter selection screen isan example of the third screen and allows the user to select values ofoperation parameters for the scan-and-upload operation identified by theoperation ID “Scan to FTP” that was selected in the operation selectionscreen. The parameter selection screen includes pull-down menus 141,142, and 143, an [OK] icon 144, and a [Cancel] icon 145. In S24 theterminal program 65 receives inputs in the parameter selection screenvia the user interface 54. The process of S23 is an example of the thirddisplaying process, and the process of S24 is an example of the thirdreceiving process.

The pull-down menus 141, 142, and 143 are objects that allow the user tospecify values for operation parameters “resolution”, “format”, and“server ID” for the scan-and-upload operation. Each of the pull-downmenus 141, 142, and 143 has selections corresponding to all possiblecandidate values that can be set as values for the corresponding one ofparameters “resolution”, “format”, and “Server ID”. The selections inthe pull-down menus 141, 142, and 143 are examples of parameter objects.In their initial states, the pull-down menu 141 specifies the value “300dpi”; the pull-down menu 142 specifies the value “PDF”; and thepull-down menu 143 specifies the value “www.server-a.com”.

In this example, the user selects the value “300 dpi” from theselections in the pull-down menu 141, selects the value “PDF” from theselections in the pull-down menu 142, selects the value“www.server-a.com” from the selections in the pull-down menu 143, andspecifies the [OK] icon 144. Consequently, the terminal program 65receives inputs specifying the values “300 dpi”, “PDF”, and“www.server-a.com”, and a specification for the [OK] icon 144 via theuser interface 54 (S24: YES), and temporarily stores the specifiedvalues in the memory 62 as values of operation parameters for theoperation ID selected in S22.

In S25 the terminal program 65 registers an operation information recordthat includes the operation ID and operation name temporarily stored inS22 and the operation parameters temporarily stored in S24 in theoperation information list. Here, the values of operation parameters maybe received in S23 and stored in association with the icon ID in S25.The process of S25 is an example of the storing process. On the otherhand, in response to a specification received via the user interface 54for the [Cancel] icon 134 in the operation selection screen, theterminal program 65 ends the process for registering operationinformation record without executing processes in S23-S25. Similarly, inresponse to a specification received via the user interface 54 for the[Cancel] icon 145 in the parameter selection screen, the terminalprogram 65 ends the process for registering operation information recordwithout executing the process in S25.

Returning to FIG. 5(A), in response to an operation received via theuser interface 54 for one of the objects 111-116 and 121-123 in thecustom configuration screen (S13: Configuration change), then in S15 theterminal program 65 temporarily stores in the memory 62 informationmodified via the object and in S12 redisplays the custom configurationscreen on the display 53 with the modified information. In this example,it will be assumed that the objects 111-116 in the custom configurationscreen shown in FIG. 8 have been modified as illustrated in FIG. 11. Itwill also be assumed that the user specified the data ID“//custom/bgimage01.jpeg” in the textbox 121 and the screen title“Operation selection screen” in the textbox 122 through the customconfiguration screen shown in FIG. 9.

In response to a specification received via the user interface 54 forthe [Generate] icon 118 in the custom configuration screen (S13:Generation), in S16 the terminal program 65 executes the process forgenerating custom screen data. The process for generating custom screendata is performed to generate data using the various information thatwas specified through the custom configuration screen. The process forgenerating custom screen data will be described next in detail withreference to FIG. 6. In FIG. 6, steps S31-S36 are examples of processingsteps, while step S37 is an example of the generating step.

Process for Generating Custom Screen Data

First, in S31-S34 the terminal program 65 converts the first imagerepresented by the image data specified via the image icons 112A and112C to icon images conforming to the first display condition stipulatedfor the operation icons 151 and 153. Since the same steps S31-S33 areperformed for image data specified through both image icons 112A and112C, the following description will focus on the process for image dataspecified through the image icon 112A.

The first display condition indicates the designated size of theoperation icon 151, for example. The designated size stipulates thedimensions of the operation icon 151 to be displayed on the display 23in both left-right and vertical directions. Further, the first displaycondition requires that the display state of the operation icon 151 onthe display 23 varies between the display state prior to the userselecting the operation icon 151 via the user interface 24 and thedisplay state after the user has selected the operation icon 151 via theuser interface 24, for example.

As shown in FIG. 13(B), the terminal program 65 allocates a first memoryarea 171 in the memory 62 that has a capacity corresponding to thedesignated size specified by the first display condition. Specifically,the terminal program 65 allocates the first memory area 171 in thememory 62 having the capacity sufficient for developing the pixel valuesof all pixels constituting an image at the designated size. Next, in S31the terminal program 65 sets the transparency for all pixels in theallocated first memory area 171 to 100%. In other words, the terminalprogram 65 sets the pixel values for all pixels in the allocated firstmemory area 171 to a transparent color (hereinafter, the pixels will becalled “transparent pixels”).

Next, in S32 the terminal program 65 acquires image data specifiedthrough the image icon 112A from the memory 62 or the server (notshown). The terminal program 65 enlarges or reduces the size of a firstimage 172 represented by the acquired image data while maintaining theaspect ratio of the first image 172 so that one of the left-right andvertical dimensions of the first image 172 conforms to a correspondingdimension defined by the designated size while the other dimension isless than a corresponding dimension defined by the designated size. Theterminal program 65 develops the pixel values of the enlarged or reducedfirst image 172 in the first memory area 171 that was allocated in S31,as illustrated in FIG. 13(B).

Through these steps, a first icon image 173 is developed in the firstmemory area 171. The first icon image 173 is configured of the pixelsconstituting the enlarged or reduced first image 172 and the transparentpixels added around the outer edges of the enlarged or reduced firstimage 172. The first icon image 173 is an example of the first objectimage. The pixel values for each pixel constituting the first icon image173 include a plurality of color values (R, G, and B values, forexample) and the transparency (100%, for example).

Next, in S33 the terminal program 65 allocates a second memory areahaving the same capacity as the first memory area 171 in the memory 62.The terminal program 65 then copies the first icon image 173 from thefirst memory area 171 to the second memory area. The terminal program 65generates a second icon image from the first icon image 173 developed inthe second memory area. The second icon image is an example of thesecond object image having the same contours as the first icon image 173but that differs in at least one of luminance, lightness, and chroma.That is, the first icon image 173 and the second icon image havesubstantially the same pattern, but differ in the shade of color.

More specifically, the terminal program 65 converts the pixel values ofthe first icon image 173 in the second memory area from values in theRGB color space to values in the Lab color space. In other words, theterminal program 65 converts pixel values for the first icon image 173from a format expressed by a plurality of color values to a formatexpressed by a Lab color space having a dimension L for lightness andcolor-opponent dimensions a and b. Next, the terminal program 65 adjustsa pixel value of the dimension L for lightness in each pixel convertedto the Lab color space according to a predetermined method.Subsequently, the terminal program 65 converts the pixel values forpixels with the adjusted value of the dimension L back to pixel valuesin the RGB color space, thereby developing the second icon image in thesecond memory area.

Note that the method of generating the second icon image is not limitedto the example set forth above. As another example, the terminal program65 may convert pixel values for the first icon image 173 in the secondmemory area from the RGB color space to the YCbCr color space.Subsequently, the terminal program 65 adjusts the luminance component Yfor each pixel converted to the YCbCr color space according to apredetermined method. Thereafter, the terminal program 65 converts thepixel values with the adjusted luminance component Y back to the RGBcolor space, thereby developing the second icon image in the secondmemory area.

In S34 the terminal program 65 determines whether all icons have beengenerated. The terminal program 65 returns to S31 when there remain anicon to be generated (S34: NO). Once all icons have been generated (S34:YES), the terminal program 65 advances to S35.

In S35 and S36 the terminal program 65 converts a second imagerepresented by the image data that was specified through the textboxes121 and 123 (FIG. 9) to a background image conforming to the seconddisplay condition appropriate for the background of the image to bedisplayed on the display 23. The second display condition indicates thesize of the display area in the display 23, for example. The displayarea size includes the left-right and vertical dimensions of a screendisplayed on the display 23. The display area size is larger than thedesignated size. In other words, the first display condition and thesecond display condition are different from each other.

In S35 the terminal program 65 allocates a third memory area in thememory 62 that has a capacity corresponding to the display area sizespecified by the second display condition. Specifically, the terminalprogram 65 allocates in the memory 62 a third memory area having thecapacity sufficient for developing the pixel values of all pixelsconstituting an image having the display area size. Next, the terminalprogram 65 sets all pixels in the allocated third memory area to defaultpixel values. The default pixel values are pixel values for a color thathas been preset as the background color of the image to be displayed onthe display 23 (white or black, for example).

Next, in S36 the terminal program 65 acquires image data specifiedthrough the textbox 121 and the Search icon 123 from the memory 62 orthe server (not shown). The terminal program 65 then enlarges or reducesthe second image represented by the acquired image data whilemaintaining the aspect ratio of the second image so that one of theleft-right and vertical dimensions of the second image is equivalent toa corresponding dimension defined by the display area size, while theother dimension is less than a corresponding dimension defined by thedisplay area size. Next the terminal program 65 develops the pixelvalues for the enlarged or reduced second image in the third memory areaallocated in S35. Through this process, the terminal program 65 developsa background image in the third memory area that is configured of pixelsconstituting the enlarged or reduced second image, and pixels with thedefault pixel values that are added around the outer edges of theenlarged or reduced second image.

In S37 the terminal program 65 generates the custom screen data shown inFIG. 3(B) based on the various information that the user specified inthe custom configuration screen. The custom screen data represents acustom screen that has been customized by the user via the customconfiguration screen. The data structure of the custom screen data isroughly the same as the standard screen data. The following descriptionof the custom screen data omits details of points shared with thestandard screen data and focuses on the differences.

The terminal program 65 sets the character string specified via thetextbox 122 as an element defined by the <DisplayName> tag in the customscreen data. The terminal program 65 sets the data ID for image datarepresenting the background image developed in the third memory area asthe element defined in a <BGImage> tag in the custom screen data. Theterminal program 65 also sets the information specified through objects111A-116A, 111B-116B, and 111C-116C as elements of icon tags thatinclude the corresponding icon IDs “001”, “002”, and “003” in the customscreen data.

The <IconID> and <FunctionID> elements are the same in both the standardscreen data and the custom screen data. Further, the terminal program 65sets the data ID for image data representing the first icon image 173that was developed in the first memory area 171 as the element definedin the <Normal> tag in the custom screen data. The terminal program 65also sets the data ID for image data representing the second icon imagethat was developed in the second memory area as the element defined inthe <Pushed> tag in the custom screen data. The terminal program 65 alsosets the character string specified through the textbox 113A (FIG. 8) asthe element defined in the <IconText> tag in the custom screen data. The<Icon> elements in the custom screen data further include elements withthe tags <ViewState>, <ChangePosX>, and <ChangePosY>.

The <ViewState> elements correspond to the states of the checkboxes111A-111C (FIG. 8). That is, the terminal program 65 sets the content ofthe <ViewState> tags associated with the checked checkboxes 111A and111C to “1” and sets the content of the <ViewState> tag associated withthe unchecked checkbox 111B to “0”. The content of the <ChangePosX> tagscorresponds to the numbers displayed in the textboxes 114A-114C (FIG.8), and the content of the <ChangePosY> tags corresponds to the numbersdisplayed in the textboxes 115A-115C (FIG. 8).

The terminal program 65 temporarily stores the custom screen datagenerated in S37 in the memory 62 in association with the image datarepresenting the first icon image 173 stored in the first memory area171, the image data representing the second icon image stored in thesecond memory area, and the image data representing the background imagestored in the third memory area.

Returning to FIG. 5(A), in S17 the terminal program 65 generates thecustom operation data shown in FIGS. 4(A) and 4(B) on the basis of theoperation information record selected through the pull-down menus 116Aand 116C (FIG. 8). In S18 the terminal program 65 generates aninstruction script shown in FIG. 4(C). The terminal program 65temporarily stores the custom operation data and instruction script inthe memory 62 in association with the custom screen data temporarilystored in S37. Steps S17 and S18 are an example of the generatingprocess.

The custom operation data specifies custom operations indicated inoperation information records selected through the pull-down menus 116Aand 116C (FIG. 8). In other words, the custom operation data makes itpossible to execute an operation specified by an operation ID includedin the specified operation information record according to operationparameters included in the operation information record. Since each setof custom operation data has the same structure, the custom operationdata shown in FIG. 4(A) will be described as an example.

That is, first, the terminal program 65 sets the content of the<FunctionID> tag to the function ID “901”, which does not duplicate afunction ID in the standard operation data. The terminal program 65 alsosets a <Scan to FTP> tag as an element in a <Customize Function> tag.The <Scan to FTP> tag specifies (or, is based on) the operation ID inthe operation information record represented by the operation name “Scanto Server”. The terminal program 65 also sets operation parameters inthe operation information record as the content of the <Scan to FTP>tag. Specifically, the terminal program 65 sets the content of a<Resolution> element to the value “300 dpi” as the resolution parameter,sets the content of a <FileType> element to the value “PDF” as theformat parameter, and sets the content of a “DestinationID> element tothe value “www.server-a.com” as the server ID parameter.

The instruction script is an example of the instruction data thatcontrols the multifunction peripheral 10 to execute custom operationsassociated with the operation icons 151 and 153 described in <Icon> tagsin the custom screen data when the user selects the operation icons 151and 153. The instruction script shown in FIG. 4(C) serves to implementthe custom operation specified in the custom operation data shown inFIG. 4(A) when the user selects the operation icon 151 identified by theicon ID “001”. The same instruction script shown in FIG. 4(C) implementsthe custom operation specified in the custom operation data shown inFIG. 4(B) when the user selects the operation icon 153 identified by theicon ID “003”.

More specifically, the instruction script specifies a functionconvert_appui. The function convert_appui acquires an argument in_funcIDfrom the calling program, and supplies a return value out_funcID to thecalling program. Here, the function convert_appui returns the value“901” as the return value out_funcID when the argument in_funcID is“001”, returns the value “903” as the return value out_funcID when theargument in_funcID is “003”, and supplies the argument in_funcID as thereturn value out_funcID in all other cases. In other words, theinstruction script associates icon ID with custom operation data whichis identified by the function ID. Because the content of <ViewState> tagis set to “0” for the icon ID “002”, no custom operation data isassigned with the icon ID “002”. That is, returning the argumentin_funcID indicates that no operation data is assigned with the icon IDidentified by the argument in_funcID.

In S19 the terminal program 65 outputs the custom screen data and imagedata temporarily stored in S37, the custom operation data temporarilystored in S17, and the instruction data (instruction script) temporarilystored in S18 (hereinafter collectively referred to as the “custominstruction data”). Specifically, the terminal program 65 outputs thecustom instruction data directly or indirectly to the designated device.Step S19 is an example of the output process.

As an example of outputting custom instruction data directly, theterminal program 65 may transmit the custom instruction data to thedesignated device through the communication interface 55. As an exampleof outputting custom instruction data indirectly, the terminal program65 may issue a notification to the output program (not shown) installedon the information processing terminal 50 with a pointer specifying thetop address of the memory area (for example, the memory 62) in which thecustom instruction data is stored. Subsequently, the output program mayread the custom instruction data from the memory area specified by thepointer in the notification received from the terminal program 65, andmay transmit the custom instruction data to the designated device viathe communication interface 55.

In the meantime, the device program 35 in the multifunction peripheral10 serving as the designated device receives the custom instruction datafrom the information processing terminal 50 via the communicationinterface 25. This process is an example of the reception process. Thedevice program 35 then stores the custom instruction data in the memory32 separate from the standard screen data and standard operation data.The device program 35 also executes a main process each time the powerto the multifunction peripheral 10 is turned on, for example. This mainprocess will be described next in detail with reference to FIG. 7.

Main Process

In S41 the device program 35 determines whether custom screen data isstored in the memory 32. If the device program 35 determines that nocustom screen data has been stored in the memory 32 (S41: NO), in S42the device program 35 reads the standard screen data shown in FIG. 2(A)from the memory 32. Further, in S42 the device program 35 displays thestandard screen shown in FIG. 12(A) on the display 23 on the basis ofthis standard screen data. As shown in FIG. 12(A), the standard screenincludes the operation icons 151, 152, and 153, and a [Start] icon 154.In S44 the device program 35 receives inputs in the standard screen viathe user interface 24. The process of S42 is an example of thedisplaying process. The process of S44 is an example of the secondreceiving process.

More specifically, the device program 35 reads image data from thememory 32 that is identified by the data ID“//standard/standard_Icon01_normal.jpeg” provided as the content in the<Normal> tag. Next, the device program 35 displays an image representedby the image data read from the memory 32 at the default position in thestandard screen as the operation icon 151 identified by the icon ID“001”. In response to reception of a specification for the operationicon 151 via the user interface 24, the device program 35 switches theimage data representing the image displayed as the operation icon 151from the image data identified by the data ID in the <Normal> element toimage data identified by the data ID in the <Pushed> element. Thisprocess is identical for the operation icons 152 and 153.

Further, in response to receiving a specification for the [Start] icon154 via the user interface 24 while the operation icon 151 in FIG. 12(A)has been selected (S44: YES), the device program 35 reads from thestandard screen data the function ID “001”, which is the content of the<FunctionID> tag corresponding to the selected operation icon 151. InS45 the device program 35 determines whether instruction script has beenstored in the memory 32.

In S45 the device program 35 determines whether the instruction scriptis stored in the memory 32. In response to determination of that theinstruction script has not been stored in the memory 32 (S45: NO), thedevice program 35 reads from the memory 32 standard operation data thatincludes the function ID “001” in the <FunctionID> element (FIG. 2(B)).In S48 the device program 35 instructs the multifunction peripheral 10to execute the standard operation specified by the standard operationdata read from the memory 32. That is, the device program 35 controlsthe scanner 12 to execute the scan operation according to the standardoperation data specified in FIG. 2(B) in order to read an original atthe resolution “300 dpi” to generate scan data in the file format “PDF”.The process of S48 is an example of the execution process.

On the other hand, in response to determination of that custom screendata has been stored in the memory 32 (S41: YES), the device program 35reads the custom screen data shown in FIG. 3(B) from the memory 32. InS43 the device program 35 displays the custom screen shown in FIG. 12(B)on the display 23 on the basis of the custom screen data read from thememory 32. The custom screen includes the screen title “Operationselection screen”, the background image, the operation icons 151 and153, and the [Start] icon 154. The following description will focus ondifferences from display of the standard screen while omitting adetailed description of the common points. The process of S43 is anexample of the display process.

Specifically, the device program 35 displays the character string“Operation selection screen” defined in the <DisplayName> element as thescreen title for the custom screen. The device program 35 also readsfrom the memory 32 image data identified by the data ID“//custom/bgimage01.jpeg” defined in the <BGImage> element. As thebackground image, the device program 35 displays the image representedby the image data read from the memory 32. The background image coversthe entire display region of the display 23 and is displayed behind theoperation icons 151 and 153.

The device program 35 also reads from the memory 32 image dataidentified by the data ID “//custom/custom_icon01_normal.jpeg” definedin the <Normal> element. The device program 35 displays the imagerepresented by the image data read from the memory 32 as the operationicon 151 identified by the icon ID “001” at the position identified bythe <ChangePosX> and <ChangePosY> elements. In other words, theoperation icon 151 shown in FIG. 12(B) is displayed at a positionshifted upward and rightward from the operation icon 151 displayed atthe default position in FIG. 12(A). The operation icon 153 is similarlydisplayed. However, since the content of the <ViewState> tag is set to“0” for the operation icon 152, the device program 35 does not displaythe operation icon 152 in the custom screen.

Next, the device program 35 receives a specification for the operationicon 153, for example, via the user interface 24. In response to thisspecification, the device program 35 switches the image datarepresenting the image displayed as the operation icon 153 from theimage data identified by the data ID defined in the <Normal> element tothe image data identified by the data ID defined in the <Pushed>element. In other words, the device program 35 displays the operationicon 153 with the same pattern but a different color shade after theoperation icon 153 is selected via the user interface 24, as illustratedin FIGS. 12(B) and 13(A).

For example, in response to receiving a specification for the [Start]icon 154 via the user interface 24 while the operation icon 151 has beenselected (S44: YES), the device program 35 reads the function ID “001”defined in the <FunctionID> element corresponding to the selectedoperation icon 151 from the custom screen data. Further, in response todetermining that an instruction script is stored in the memory 32 (S45:YES), the device program 35 reads the instruction script shown in FIG.4(C) from the memory 32 using the function ID “001” as the argumentin_funcID. By setting the argument in_funcID to the function ID “001”identifying the standard operation data, the instruction script suppliesthe function ID “901” identifying custom operation data to the deviceprogram 35 as the return value out_funcID.

In S46 the device program 35 determines whether the return valueout-_funcID specifies a custom operation or a standard operation. Sincethe return value out_funcID is set to the function ID “901” indicatingcustom operation data in this case (S46: Custom), the device program 35reads custom operation data including the function ID “901” in the<FunctionID> element from the memory 32. In S47 the device program 35controls the multifunction peripheral 10 to execute the custom operationspecified in the custom operation data. Specifically, the device program35 controls the scanner 12 on the basis of the custom operation datashown in FIG. 4(A) to read an original at the resolution “300 dpi” inorder to generate scan data in the file format “PDF”, and controls thecommunication interface 25 to implement an upload operation fortransmitting the scan data to the server identified by server ID“www.server-a.com”. The process of S47 is an example of the executionprocess.

On the other hand, in response to acquisition of a return valueout_funcID from the instruction script that is assigned to a function IDfor standard operation data (S46: Standard), in S48 the device program35 reads standard operation data identified by the function ID from thememory 32. Further, in S48 the device program 35 controls themultifunction peripheral 10 to execute the standard operation specifiedby the standard operation data.

Operations and Effects of the Embodiment

According to the embodiment described above, the user can change anoperation, which is implemented on the multifunction peripheral 10 inresponse to selection of one of the relevant operation icon 151, 152, or153 displayed on the display 23, from a standard operation to a customoperation. The multifunction peripheral 10 can be controlled toimplement the custom operation according to values of operationparameters specified by the user. This enables the user to flexiblycustomize the user interface of the multifunction peripheral 10 to suitthe preferred mode of use.

Further, the embodiment described above can simplify inputs forspecifying an operation ID and values of operation parameters byprompting the user to specify one of a plurality of operationinformation records. Through the process of the embodiment forregistering operation information records, the user can preregisterdesired sets of operation IDs and values of operation parameters asoperation information records. This procedure can simplify the inputsfor specifying combinations of desired operation IDs and values ofoperation parameters.

Further, since the user can include conditions for executing eachoperation of a compound operation in an operation information record,the embodiment can simplify the inputs for specifying operation IDs andvalues of operation parameters. Note that the method of customizing eachtype of information through the custom configuration screen is notlimited to the example in the embodiment. For example, the terminalprogram 65 may prompt the user to specify the operation ID and values ofoperation parameters separately through the custom configuration screen.

In the embodiment described above, the user is prompted to specify imagedata that will be used as the operation icons 151 and 153, and theterminal program 65 processes the first image represented by thespecified image data to conform with the first display condition. Inother words, the user can display object images that plainly representthe corresponding operations on the display 23 as the operation icons151 and 153, thereby flexibly customizing the user interface of themultifunction peripheral 10.

For example, the terminal program 65 may enlarge or reduce the firstimage to a size smaller than the designated size while maintaining theaspect ratio, and can fit the image to the designated size by addingtransparent pixels around the outer edges of the enlarged or reducedfirst image. In this way, the user can specify desired image datawithout worrying about the designated size of the operation icons 151and 153. Further, by only prompting the user to specify a desired set ofimage data, the terminal program 64 can vary the display mode for thecorresponding operation icon 151 or 153 to be different after the iconis selected. Hence, the user can easily and flexibly customize the userinterface on the multifunction peripheral 10.

In the embodiment described above, the user can display a desiredbackground image on the display 23. In addition, when the user specifiesan image to be used as the object image, the terminal program 65 resizesthe image suitable for the object image. Further, when the userspecifies an image to be used as the background image, the terminalprogram 65 resizes the image suitable for the background image.Accordingly, the terminal program 65 can automatically resize the imagesdepending on the respective purposes, thereby improving usability.Further, since the terminal program 65 converts the user-specifiedimages to a size suitable for the object image and background image, theuser can select desired image data without worrying about the size ofthe image. Hence, the user can more flexibly customize the userinterface of the multifunction peripheral 10.

Further, if the enlarged or reduced first image is smaller than thedesignated size, the device program 65 can replace a portion of theobject image displayed on the display 23 with pixels of the backgroundimage, thereby displaying a natural object image on the display 23 thatmaintains the aspect ratio of the first image. Further, when theenlarged or reduced second image is smaller than the display area size,the device program 35 can display a background image on the display 23that includes pixels of a preset color, thereby displaying a naturalbackground image on the display 23 that maintains the aspect ratio ofthe second image.

Further, in the embodiment the user can instruct the multifunctionperipheral 10 to display the operation icons 151 and 153 at desireddisplay positions. In addition, the user can designate only theoperation icons 151 and 153 among the operation icons 151, 152, and 153to be displayed on the display 23 in the initial state so that theoperation icon 152 is hidden. Further, the user can display characterstrings together with the operation icons 151 and 153 that plainlyrepresent the corresponding operations. In addition, the user candisplay a character string that plainly describes the custom screen. Inother words, the embodiment allows the user to more flexibly customizethe user interface on the multifunction peripheral 10.

While the embodiment describes an example of customizing what may becalled the top screen that is initially displayed when the power for themultifunction peripheral 10 is turned on, the customizable screens arenot limited to the top screen, but may include any screen displayed onthe display 23 of the multifunction peripheral 10. Note that the“initially displayed screen” does not include what is sometimes referredto as a splash screen displaying the manufacturer's logo, or screensasking the user to agree to terms and conditions, for example.

In the multifunction peripheral 10 and information processing terminal50 of the embodiment described above, the corresponding CPUs 31 and 61execute the programs stored in the corresponding storage units 32 and 62as an example of the control devices of the present disclosureimplementing processes. However, the configuration of the controldevices is not limited to this example. All or part of the controldevice configuration may be implemented in hardware, such as integratedcircuits. Further, at least part of each control device may be achievedby a CPU, a plurality of CPUs, an Application Specific IntegratedCircuit (ASIC), a plurality of ASICs, or any combination of thesedevices.

Further, the present invention is not limited to an implementation usingthe multifunction peripheral 10 and the information processing terminal50, but may be implemented as a program that controls the multifunctionperipheral 10 and the information processing terminal 50 to executeprocesses. Further, this program may be recorded on a non-transitoryrecording medium to be supplied to the user. The non-transitoryrecording media may include a CD-ROM, a DVD-ROM, or a storage providedin a server that can connect to the multifunction peripheral 10 and theinformation processing terminal 50 via a communication network. Theprogram stored in the storage of the server may be distributed over acommunication network, such as the Internet, as information or signalsspecifying the program.

While the disclosure has been described in detail with reference to theabove embodiments, it would be apparent to those skilled in the art thatvarious changes and modifications may be made thereto.

What is claimed is:
 1. A non-transitory computer readable storage mediumstoring a set of instructions installed on and executed by aninformation processing terminal having a terminal display and a userinterface, the set of instructions comprising: acquiring a plurality ofobject IDs identifying respective ones of a plurality of displayobjects, the plurality of display objects being to be displayed atrespective designated positions on an apparatus display of an imageforming apparatus, each of the plurality of object IDs being previouslyassigned with a corresponding standard operation concerning one of aplurality of operations which the image forming apparatus is capable ofexecute; acquiring a plurality of operation IDs identifying respectiveones of the plurality of operations; receiving a first input indicatingan operation ID to be correlated to an object ID from among theplurality of operation IDs via the user interface; generatinginstruction data and custom operation data, the custom operation datadefining a custom operation concerning an operation identified by theindicated operation ID, the instruction data being information used forexecution of the custom operation defined by the custom operation datain response to designation of a display object identified by thecorrelated object ID; and outputting the generated custom operation dataand the generated instruction data.
 2. The non-transitory computerreadable storage medium according to claim 1, wherein the set ofinstructions further comprises acquiring values to be set for aplurality of operation parameters, each of the values indicating acondition of the custom operation, wherein the receiving furtherreceives, in association with the correlated object ID, a second inputdesignating a value of an operation parameter via the user interfacefrom among the acquired values, wherein the generating generates thecustom operation data defining the custom operation according to thereceived value of the operation parameter.
 3. The non-transitorycomputer readable storage medium according to claim 2, wherein theinformation processing terminal further includes a memory storing aplurality of sets of operation information, each of the plurality ofsets of operation information including an operation ID and a value ofan operation parameter, wherein the set of instructions includedisplaying a first screen on the terminal display to prompt to selectvia the user interface, from among the plurality of acquired operationIDs, the operation ID to be correlated to the operation ID; wherein thefirst screen includes a plurality of operation information objectscorresponding to respective ones of the plurality of sets of operationinformation, wherein the receiving a first input and the receiving asecond input are achieved by receiving via the user interface an inputindicating an operation information object which corresponds to a set ofoperation information including the selected object ID and the receivedvalue of the operation parameter from among the plurality of operationinformation objects, wherein the generating generates the customoperation data defining the custom operation so that the operationidentified by the indicated operation ID, which is included in theselected set of operation information, is executed according to thereceived value included in the indicated set of operation information.4. The non-transitory computer readable storage medium according toclaim 3, wherein the set of instructions further comprises: displayingon the terminal display a second screen including a plurality ofoperation objects corresponding to respective ones of the plurality ofoperation IDs; receiving via the user interface a third inputdesignating an operation object among the plurality of operation objectsdisplayed on the second screen; displaying a third screen including aplurality of parameter objects corresponding to respective ones of theplurality of operation parameters on the terminal display; receiving viathe user interface a fourth input designating a value of an operationparameter through the corresponding parameter object displayed on thethird screen; and storing, in the memory as a set of operationinformation, the operation ID corresponding to the designated operationobject and the designated value of the operation parameter, whereinprior to executing displaying the first screen, executed are thedisplaying a second screen, the receiving via the user interface a thirdinput, the displaying a third screen, the receiving a fourth input, andthe storing.
 5. The non-transitory computer readable storage mediumaccording to claim 2, wherein the custom operation is a combination of afirst operation and a second operation, the first operation beingperformed by a first operation machine included in the image formingapparatus, the second operation being performed by a second operationmachine included in the image forming apparatus, wherein the set ofinstructions further comprises receiving via the user interface a fifthinput designating a value of a first operation parameter indicating anexecution condition of the first operation and a value of a secondoperation parameter indicating an execution condition of the secondoperation.
 6. The non-transitory computer readable storage mediumaccording to claim 2, wherein the information processing terminalfurther includes a memory storing the plurality of object IDs, theplurality of operation IDs, and the values to be set for the pluralityof operation parameters, wherein the acquiring a plurality of object IDsreads the plurality of object IDs from the memory, the acquiring aplurality of operation IDs reads the plurality of operation IDs from thememory, the acquiring values to be set for a plurality of operationparameters reads the values to be set for the plurality of operationparameters from the memory.
 7. The non-transitory computer readablestorage medium according to claim 2, wherein the acquiring a pluralityof object IDs receives the plurality of object IDs via the userinterface, the acquiring a plurality of operation IDs receives theplurality of operation IDs via the user interface, and the acquiringvalues to be set for a plurality of operation parameters receives thevalues to be set for the plurality of operation parameters via the userinterface.
 8. The non-transitory computer readable storage mediumaccording to claim 1, wherein the set of instructions further comprises:receiving via the user interface a sixth input designating image data inassociation with the correlated object ID; and generating custom screendata allowing the apparatus display to display an image represented bythe designated image data as a display object identified by thecorrelated object ID, wherein the outputting further outputs thegenerated custom screen data.
 9. The non-transitory computer readablestorage medium according to claim 1, wherein in response to acquiringthe plurality of object IDs and receiving the first input, thecorrelated object ID is correlated to the indicated operation ID whichidentifies the operation concerning the custom operation that isdifferent from the standard operation corresponding to the correlatedobject ID.
 10. A system comprising: an information processing terminalhaving a terminal display, a first user interface, and a first controldevice; and an image forming apparatus having an apparatus display, asecond user interface, a communication interface, and a second controldevice, wherein the first control device is configured to: acquire aplurality of object IDs identifying respective ones of a plurality ofdisplay objects, the plurality of display objects being to be displayedat respective designated positions on the apparatus display of an imageforming apparatus, each of the plurality of object IDs being previouslyassigned with a corresponding standard operation concerning one of aplurality of operations which the image forming apparatus is capable ofexecute; acquire a plurality of operation IDs identifying respectiveones of the plurality of operations; receive a first user inputindicating an operation ID to be correlated to an object ID from amongthe plurality of operation IDs via the user interface; generateinstruction data and custom operation data, the custom operation datadefining a custom operation concerning an operation identified by theindicated operation ID, the instruction data being information used forexecution of the custom operation defined by the custom operation datain response to designation of a display object identified by thecorrelated object ID; and output the generated custom operation data andthe generated instruction data to the image forming apparatus, whereinthe second control device is configured to: receive the custom operationdata and the instruction data from the information processing terminalvia the communication interface; display the display object identifiedby the correlated object ID at the designated position of the apparatusdisplay; receive a second input indicating the display object displayedon the apparatus display via the second user interface; execute thecustom operation defined by the custom operation data concerning theoperation identified by the selected operation ID in response toreception of the second input.